package com.eorchis.module.department.manager;

import com.eorchis.core.basedao.condition.BaseTreeCondition;
import com.eorchis.module.department.domain.Department;
import com.eorchis.module.department.domain.DepartmentTreeCondition;
import com.eorchis.module.department.domain.jsonbean.DepartmentTreeJsonBean;
import java.util.List;

public abstract interface IDepartmentTreeManager
{
  public abstract boolean isLeapNode(DepartmentTreeCondition paramDepartmentTreeCondition)
    throws Exception;

  public abstract void updateTreeOrderNum(BaseTreeCondition paramBaseTreeCondition)
    throws Exception;

  public abstract void updateTreeParentID(BaseTreeCondition paramBaseTreeCondition)
    throws Exception;

  public abstract List<Department> listDepartmentTree(DepartmentTreeCondition paramDepartmentTreeCondition)
    throws Exception;
  
  public abstract List<Department> listUnSeclectDepartmentTree(DepartmentTreeCondition paramDepartmentTreeCondition)
		    throws Exception;

  public abstract List<DepartmentTreeJsonBean> listDepartmentCheckedTree(DepartmentTreeCondition paramDepartmentTreeCondition)
    throws Exception;

  public abstract Department getDepartment(DepartmentTreeCondition paramDepartmentTreeCondition)
    throws Exception;

  public abstract List<Department> listDepartmentProjectTree(DepartmentTreeCondition paramDepartmentTreeCondition)
    throws Exception;
}